home *** CD-ROM | disk | FTP | other *** search
/ Die Ultimative Software-P…i Collection 1996 & 1997 / Die Ultimative Software-Pakete CD-ROM fur Atari Collection 1996 & 1997.iso / g / gnu_c / gppinc22.zoo / new.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-11-30  |  848 b   |  38 lines

  1. #ifndef _new_h
  2. #ifdef __GNUG__
  3. #pragma interface
  4. #endif
  5. #define _new_h 1
  6.  
  7. #include <stddef.h>
  8. #include <std.h>
  9.  
  10. #ifdef atarist
  11. #define NO_LIBGXX_MALLOC 1
  12. #endif
  13.  
  14. #ifndef NO_LIBGXX_MALLOC
  15. #define MALLOC_ALIGN_MASK   7 /* ptrs aligned at 8 byte boundaries */
  16. #define MALLOC_MIN_OVERHEAD 8 /* 8 bytes of overhead per pointer */
  17. #endif
  18.  
  19. typedef void (*new_handler_t)();
  20. extern new_handler_t __new_handler;
  21. extern "C" void default_new_handler();
  22. extern "C" new_handler_t set_new_handler(new_handler_t);
  23.  
  24. #ifdef __GNUG__
  25. #define NEW(where) new { where }
  26. #endif
  27.  
  28. // default placement version of operator new
  29. static inline void *operator new(size_t, void *place) { return place; }
  30.  
  31. // provide a C++ interface to vector-resize via realloc 
  32. inline void *operator new(size_t size, void *ptr, size_t new_len)
  33. {
  34.   return realloc(ptr, new_len * size);
  35. }
  36.  
  37. #endif
  38.